package com.mall.client.server.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mall.common.core.annotation.Excel;
import com.mall.common.core.web.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 客户对象 t_client
 *
 * @author ruoyi
 * @date 2025-02-16
 */
@Data
public class Client extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Integer id;

    /** 头像 */
    @Excel(name = "头像")
    private String clientPic;

    /** 姓名 */
    @Excel(name = "姓名")
    private String clientName;

    /** 手机号 */
    @Excel(name = "手机号")
    private String clientPhone;

    /** 邮箱 */
    @Excel(name = "邮箱")
    private String clientMailbox;

    /** 来源渠道 */
    @Excel(name = "来源渠道")
    private Integer sourceId;

    /** 年龄 */
    @Excel(name = "年龄")
    private Integer clientAge;

    /** 性别(1-男 2-女  3-未知) */
    @Excel(name = "性别(1-男 2-女  3-未知)")
    private Integer clientSex;

    /** 生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date clientBirthday;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String clientAddress;

    /** 会员ID */
    private Integer vipId;

    /** 优惠券ID */
    private Integer couponId;

    /** 标签 */
    private Integer[] clientTagId;

    private List<Long> customerIds;

    /** 消费金额 */
    private BigDecimal vipConsumptionPrice;

    private Integer[] svipIds;
    private Integer[] freezeIds;
    private Integer[] couponIds;




    public void setId(Integer id)
    {
        this.id = id;
    }

    public Integer getId()
    {
        return id;
    }
    public void setClientPic(String clientPic)
    {
        this.clientPic = clientPic;
    }

    public String getClientPic()
    {
        return clientPic;
    }
    public void setClientName(String clientName)
    {
        this.clientName = clientName;
    }

    public String getClientName()
    {
        return clientName;
    }
    public void setClientPhone(String clientPhone)
    {
        this.clientPhone = clientPhone;
    }

    public String getClientPhone()
    {
        return clientPhone;
    }
    public void setClientMailbox(String clientMailbox)
    {
        this.clientMailbox = clientMailbox;
    }

    public String getClientMailbox()
    {
        return clientMailbox;
    }
    public void setSourceId(Integer sourceId)
    {
        this.sourceId = sourceId;
    }

    public Integer getSourceId()
    {
        return sourceId;
    }

    public void setClientAge(Integer clientAge)
    {
        this.clientAge = clientAge;
    }

    public Integer getClientAge()
    {
        return clientAge;
    }
    public void setClientSex(Integer clientSex)
    {
        this.clientSex = clientSex;
    }

    public Integer getClientSex()
    {
        return clientSex;
    }
    public void setClientBirthday(Date clientBirthday)
    {
        this.clientBirthday = clientBirthday;
    }

    public Date getClientBirthday()
    {
        return clientBirthday;
    }
    public void setClientAddress(String clientAddress)
    {
        this.clientAddress = clientAddress;
    }

    public String getClientAddress()
    {
        return clientAddress;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("clientPic", getClientPic())
            .append("clientName", getClientName())
            .append("clientPhone", getClientPhone())
            .append("clientMailbox", getClientMailbox())
            .append("sourceId", getSourceId())
            .append("clientAge", getClientAge())
            .append("clientSex", getClientSex())
            .append("clientBirthday", getClientBirthday())
            .append("clientAddress", getClientAddress())
            .toString();
    }
}
